perm filename BIO[P,JRA] blob sn#170722 filedate 1975-07-30 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00004 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	Biography:
C00005 00003	 1969 systems programmer and researcher
C00008 00004	Publications:
C00012 ENDMK
CāŠ—;
Biography:

John Richardson Allen
 Born: September 2, 1937; married with two children

Education:
 1959 B.A. in mathematics (with honors) 
 Michigan Technological University
 Houghton, Michigan

 1962 M.A. in mathematics
 University of California
 Santa Barbara, Cal
  (work in analysis, algebra, and mathematical logic)

 1966-1969 graduate work in Computer Science
 Stanford University
 Stanford, Cal
  (work in traditional computer science areas, mathematical logic,
   recursion theory, set theory, and foundations of mathematics)

Experience:
 1959-1960 mathematical programmer
 Burroughs Corp.
 Sierra Madre, Cal
  (machine language programming of various mathematical problems.)

1960-1963 teaching assistant
 University of California
 Santa Barbara, Cal
  (taught trig, algebra, and first-year calculus courses)

 1963-1965 mathematical and systems programmer
 General Motors Research Labs
 Goleta, Cal
  (general mathematical programming; developed LISP for IBM7040;
   modification of operating system for 7040)

 1965-1966 systems programmer
 Stanford A.I. Project
 Stanford, Cal
  (designed and developed display-based time-sharing system for PDP-1  
   implemented Culler-Fried system for this system; 
   - the PDP-1 system was the basis of the current AI lab system -
   maintained early PDP-6 monitors)

 1966-1968 student research associate
 Stanford A.I. Laboratory
 Stanford, Cal
  (modified MAC-LISP to Stanford-LISP; maintained LISP complier and system;
   developed simple LISP editor and interfaced LISP to machine language
   programs; designed LISP's big-number programs. Research in resolution
   theory and interactive theorem-proving)


 1969 systems programmer and researcher
 Institute for Mathematical Studies in Social Sciences
 Stanford University
 Stanford, Cal
   (continuing research in theorem-proving; general consultant on  PDP-10
    system, and applications of theorem-proving to educational areas)

 1970-1972 Assistant Professor of Computer Science
 Computer Science Dept
 University of California
 Los Angeles, Cal
   (taught courses in basic machine and systems orgainzation, data  structures,
    compiler construction, and semantics of programming languages. Organized
    seminar on extensible languages, correctness and language design. Research
    in theorem-proving and language design)

 1972 -1975 Research Associate
 Stanford A.I. Lab
 Computer Science Dept.
 Stanford Cal
    (Theory and applications of theorem-proving, automatic programming,
     and verification; investigations of the specification of programming 
     languages and data structures with a view to their formal properties;
     study of the design of interactive programming environments to aid in
     the construction of correct programs.)

 1973 & 1974 guest lecturer
 Information Sciences Dept
 University of Cal
 Santa Cruz, Cal
    (Each year a two-week session on LISP and data stuctures for the
     graduate workshop)

 1975 lecturer (current)
 Mathematics Dept
 San Jose State University
 San Jose, Cal
   (Spring semester: taught a one-semester graduate course on abstract 
    programming, LISP, data structures, and translator construction; 
    uses my manuscript(see below)
   (Summer semester: currently teaching a graduate seminar on mathematical
    models of programming languages)

Publications:
Various very old technical reports from Burroughs and General Motors

McCarthy, et.al. Thor - A Display Based Time Sharing System
 AFIPS Vol 30, 1967

Allen & Luckham, An Interactive Theorem-Proving Program
 Machine Intelligence Vol 5. 1970

Allen, The Anatomy of LISP (tentative title)
 book on language design, abstract programming, data structures, LISP, 
 mathematical semantics, ...
 to be published by McGraw-Hill

Various SAIL memos: Documentation on LISP 1.6, A LISP editor (ALVINE)
 and user's manual for the theorem prover.

Organizations:
 ACM, SIGACT, SIGART, SIGOPS, SIGPLAN

Interests (in alphabetical order):
  Education: I am quite interested in the development better programs
  for  the education of  future Computer Scientists.   I particularly
  object to  the style  and content  of introductory  (undergraduate)
  courses.  My book  is  a  realization of  many  of  my ideas  about
  education and  some of my research interests involve development of
  a programming environment to reenforce these educational policies. 
  I have written (and had accepted for publication) a  letter  to the 
  ACM Forum attacking the current ACM68 course structure.

  Interactive systems: I am particularly interested in establishing a
  display   based  programming   laboratory  to  support  interactive
  construction of correct or reliable programs. 

  Language design: One of the difficulties involved in getting  clean
  and correct programs written is the generally  poor state of curent
  programming languages. Most were developed with batch-processing in
  mind. Few  were developed  with any  consideration towards  on-line
  construction,  and even  fewer  considered the  problem of  proving
  correctness  of  the  programs.   Just  as  the  early  '60s  saw a
  structuring  of  language  design  to  conform   to  the  syntactic
  constraints of BNF, we  should consider the semantic constraints of
  correctness when we propose new languages. 

  Mathematical  semantics:   One  of   the  current   roadblocks   to
  correctness and reliability is a lack of knowledge about the "rules
  of   inference"  for  program  construction.   Several  schools  of
  semantics of programming language  exist. It will be through  these
  investigations  that we  will be  able to  put firm  foundations on
  programming constructs.